package com.xframe.xdal.core.tran;


import java.sql.Connection;
import java.sql.SQLException;

/**
 * 事务对象
 *
 * @author xufeng
 * @version 1.0
 * @date 2022-09-26
 */
public interface IDbTransaction extends AutoCloseable {
    /**
     * 返回一个数据库连接对象
     *
     * @return Connection 对象
     */
    Connection getConnection();

    /**
     * 返回一个数据库事务隔离级别
     *
     * @return int 隔离级别值
     */
    int getTransactionIsolation();

    /**
     * 设置一个数据库事务隔离级别
     *
     * @param level 离级别值
     */
    void setTransactionIsolation(int level);

    /**
     * 提交
     */
    void commit() throws SQLException;

    /**
     * 回滚
     */
    void rollBack();

    /**
     * 关闭
     */
    void close();
}
